package com.otherTest.designpattern.behavioralpattern.chainresponsibility;


import java.math.BigDecimal;

/**
 * @Description: 责任链handler
 * @author: conceit
 * @Date: 2018/9/1 0001 11:23
 */
public abstract class ChainResponsibilityHandler {

    /**
     * 下一个处理的节点
    */
    protected ChainResponsibilityHandler nextHandler;

    /**
     * 构造方法种指定下一个处理的节点
     */
    public void setNextHandler(ChainResponsibilityHandler nextHandler) {
        this.nextHandler = nextHandler;
    }

    /**
     * 子类需要重写,完成自己的业务逻辑，更具请假的天数判断是不是在自己的职责范围之内
     * 是的话就进行业务处理，不是的话就判断下一个节点是不是为空，不为空则就继续掉用
     * 为空则终止处理
     */
    public abstract void handlerRequest(BigDecimal leaveDay);
}
